In 3rd Generation Partnership Project (3GPP) Release 5, the Wideband Code Division Multiple Access (WCDMA) standard was extended with High Speed Downlink Shared Channel (HS-DSCH) (also know as, High speed downlink packet access HSDPA), where radio resource allocation was also located in the Node-B. The Node-B is the function within the Universal Mobile Telephone System (UMTS) network that provides the physical radio link between a user equipment and a mobile system network. Along with the transmission and reception of data across the radio interface the Node-B also applies the codes that are necessary to describe channels in a Code Division Multiple Access (CDMA) system. Other HS-DSCH functions that were introduced in the Node-B except radio dependent scheduling were Hybrid Automatic Repeat Request (H-ARQ) and fast re-transmissions. The HS-DSCH channel targets transmission of Internet Protocol (IP) type services and several user equipments, share a common physical resource on the radio interface. Even though the main design principles for HS-DSCH were not aiming for support of voice or other real-time application services, the physical layer radio properties of the HS-DSCH have been proven also very much suited to cater for, real-time application services such as e.g., Voice over IP (VoIP) traffic services.
In 3GPP Release 99, mobility is handled by the Radio Network Controller (RNC) with assistance from the user equipment. The user equipment sends a measurement report indicating which cells (or Node-Bs) that have good radio channel as measured on a pilot signal. The RNC receives this measurement report, establish the appropriate radio channels in the concerned Node-Bs, and indicate to the user equipment that it should switch the reception to these new radio channels. Also in 3GPP Release 99, the user equipment can do simultaneous reception from several cells at the same time (macro-diversity). This gives an interrupt free transition when the user equipment moves from one cell to another within the mobile system, without any break in the communication. However, macro diversity is not possible when using HS-DSCH. For HS-DSCH the user equipment instead leaves the old radio channel before it re-establishes the connection via a new radio channel in the new cell. The switching time from the old cell to the new cell could lead to an interruption in the reception and data flow.
Data packets to be transferred to the user equipment are sent in a stream from the RNC to Node-B where the data packets are temporary stored in e.g. a buffer, while waiting to be scheduled. When the RNC decides that the user equipment shall change cell, the RNC need to send data packets in another stream to the new Node-B. Although the RNC commands the user equipment to change cell, the RNC cannot know exactly which data packets were sent to the user equipment before the user equipment leave the old cell, and can therefore not know exactly from where in the packet data stream it should start to transmit in the new cell. Thus the RNC cannot know from where it should start send the data to the new Node-B instead of the old. If the RNC sends data too early to the new node B, the interruption time will be longer than necessary, and if the RNC sends the data too late, packets will be unnecessarily dropped.
In order to make sure that the interruption is as short as possible and that no packets are unnecessarily dropped the RNC can make sure that the buffers in the Node-B have user data to transmit to the user equipment all the time. To cater for these facts it is the state of the art in other technologies to perform bi-casting and send the same user data packets to both the new and the old Node-B in parallel during a short transition phase while the handover is taking place.
When real time user data such as e.g. VoIP is transferred, the user data stream have data packets, so-called Protocol Data Units (PDUs) arriving on a regular basis from the application, e.g. once every 20 ms. For real-time applications the application requires to have the PDUs in sequence and within a certain time period, otherwise they are not useful. Therefore one can have a “time-to-live” timer running in all buffers, and if the data get too old it is discarded, even before it is sent. For HS-DSCH there is such a function included in the Node-B. Also, since it is a real time service, there is no need or possibility to involve Radio Link Control (RLC) re-transmissions by operate RLC in Acknowledged Mode (AM), so RLC is operated in either Unacknowledged Mode (UM) or Transport Mode (TM). When using HS-DSCH only RLC UM is applicable. RLC UM adds its own sequence number so that one can detect if there were PDUs lost on the radio interface. In the case of doing RLC UM on HS-DSCH sequence number checking is done in the user equipment.
When using RLC UM for a real time service, the application PDUs are encapsulated in RLC UM PDUs using segmentation/concatenation and addition of a sequence number. E.g.:
A RLC PDU1 is associated with a sequence number SN5, (PDU1-SN5)
a RLC PDU2 is associated with a sequence number SN6, (PDU2-SN6)
a RLC PDU3 is associated with a sequence number SN7, (PDU3-SN7)
a RLC PDU4 associated with a sequence number SN8, (PDU4-SN8)
etc., and generally
a RLC PDUN is associated with a sequence number SNx (of course N may be equal to x).
In case of mobility from an old Node-B to a new Node-B the current handling in the RLC UM receiver within the user equipment may lead to long interruptions in the data flow. This can be illustrated by the following scenario. A user equipment moves from an old cell to a new cell while a stream of three RLC UM PDUs are to be sent from the Core network (CN), via the RNC to a user equipment. Bi-casting is used to limit the interruption and the RNC estimates that the change would occur around when PDU1-SN5, PDU2-SN6, PDU3-SN7 are sent, so PDUs 1-3 are sent both to the old Node-B and new Node-B. For example, the old Node-B manages to send PDUs 1-2 to the user equipment before the user equipment leaves the old Node-B. The user equipment then leaves the old Node-B and tunes to the radio channel of the new Node-B. The New Node-B will then continue to send all the PDUs 1-3, waiting in its buffer, that does not have a time-to-live timer that has expired. If none of the timers have expired the new Node-B will continue with the PDUs that it has in its buffer and send these to the user equipment. In this example it will send PDUs 1-3.
The problem is that since the user equipment already has received PDUs with SN5 and SN6, it will interpret receiving of PDU-SN5 again as an indication that it has lost all the PDUs with sequence number 7, 8, 9 . . . , up to max sequence number and the PDUs with the sequence numbers 0, 1, 2, 3, 4, i.e. that the user equipment is believing that the sequence number has been wrapped around and that the user equipment is now receiving the next cycle of sequence numbers. The rules in the RLC protocol says the user equipment shall interpret a received PDU being associated with the same or a lower sequence number as the previous received PDU, as a wrap around, i.e. that a new cycle of PDUs is received and that the intermediate PDUs has been lost. For RLC UM the sequence number is 7 bits so the maximum sequence number is 128.
Each PDU in a sequence cycle is associated with one and the same Hyper Frame Number (HFN) such that each PDU in a subsequent sequence cycle is associated with one and the same HFN that is increased compared with the previous sequence cycle. The HFN is the most significant bits (MSB) and the PDU sequence number is the least significant bits (LSB) of the sequence number used by the user equipment in the decipher algorithm to decipher received PDUs, if ciphering is used. A wrongly interpretation of a RLC sequence number wrap-around, as described in the scenario above, is interpreted as an increase of the HFN meaning that the user equipment will use erroneous input to the deciphering algorithm and can therefore not decipher the data correctly. This is a condition that would last for the rest of the connection, and would therefore be catastrophic for the service.